﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace YogaStudio.WebUI.Models
{
    public class PaymentViewModel
    {
        
        [Required]
        [RegularExpression("^[0-9]{16}$", ErrorMessage = "Credit card number must be 16 digits")]
        [DisplayName("Credit Card Number")]
        public string CreditCardNumber { get; set; }
        [Required]
        [DisplayName("Name On Card")]
        public string PrintedNameOnCard { get; set; }
        [Required]
        [DisplayName("Expary Date")]
        public DateTime ExpiryDate { get; set; }
        [Required]
        [RegularExpression("^[0-9]{3}$", ErrorMessage = "Pin must be 3 digits")]
        public int Pin { get; set; }

        [Required]
        [DisplayName("Billing Address1")]
        public string BillingAddress1 { get; set; }
        [Required]
        [DisplayName("Billing Address2")]
        public string BillingAddress2 { get; set; }
        [Required]
        [DisplayName("Billing City")]
        public string BillingCity { get; set; }
        [Required]
        [DisplayName("Billing Provience")]
        public string BillingProvience { get; set; }
        [Required]
        [DisplayName("Billing Postal Code")]
        public string BillingPostalCode { get; set; }
        [Required]
        [DisplayName("Billing Country")]
        public string BillingCountry { get; set; }

        [Required]
        [DisplayName("Name")]
        public string ShipTo { get; set; }
        [Required]
        [DisplayName("Ship Address1")]
        public string ShipAddress1 { get; set; }
        [Required]
        [DisplayName("Ship Address2")]
        public string ShipAddress2 { get; set; }
        [Required]
        [DisplayName("Ship City")]
        public string ShipCity { get; set; }
        [Required]
        [DisplayName("Ship Provience")]
        public string ShipProvince { get; set; }
        [Required]
        [DisplayName("Ship Postal Code")]
        public string ShipPostalCode { get; set; }
        [Required]
        [DisplayName("Ship Country")]
        public string ShipCountry { get; set; }
    }
}